<html>
  <head>
    <title>页面接口</title>
  </head>
  <body>
    <script>
      /*
                六、页面调用接口

                        1、getApp()

                                    getApp() 函数用于获取"当前应用实例"，一般用于获取globalData.

                                    也可以通过应用实例调用 App.vuemethods中定义的方法。

                                    eg：
                                          const app = getApp()
                                          console.log(app.globalData)
                                          app.doSomething() // 调用 App.vue methods 中的 doSomething 方法

                                  注意：

                                      ①、不要在定义于 App() 内的函数中，或调用App前调用getApp(),可以通过 this.$scope获取对应的app实例

                                      ②、通过 getApp()获取实例后，不要私自调用生命周期函数。

                                      ③、当在首页 nvue 中使用 getApp() 不一定可以获取真正的App对象。
                                        
                                        对此提供了 const app = getApp({allowDefault:true})用来获取原始的App对象，

                                        可以用来在首页对globalData的等初始化

                        2、getCurrentPages()

                                     getCurrentPages() 函数用于获取当前"页面栈"的示例，

                                     以数组形式按栈的顺序给出，数组中的元素为页面实例，第一个元素为首页，最后一个元素为当前页。

                                     每个页面实例的方法属性列表：

                                       方法                   描述                               平台说明

                                       page.$getAppWebview()  获取当前页面的webview对象实例        App

                                       page.route             获取当前页面的路由

                                      注意：

                                           getCurrentPages() 仅用于展示页面栈的情况，请勿修改页面栈，以免造成页面状态错误。

                                           页面关闭时，对应页面实例会在页面栈中删除。

                                      注意：
                                                        
                                            ①、navigateTo,redirectTo 只能打开非 tabBar 页面。

                                            ②、switchTab 只能打开 tabBar 页面。

                                            ③、reLaunch 可以打开任意页面

                                            ④、页面底部的 tabBar 由页面决定，即只要是定义为 tabBar 的页面，底部都有tabBar.

                                            ⑤、不能再首页 onReady 之前进行页面跳转


                        3、$getAppWebview()   (仅App平台支持)

                                       uni-app 在 getCurrentPages()获得的页面里内置了一个方法 $getAppWebview() 可以得到当前webview的对象实例，

                                       从而实现对 webview 更强大的控制.

                                       html5Plus 中，plus.webview具有强大的控制能力，可参考：WebviewObject。

                                       但uni-app框架有自己的窗口管理机制，请不要自己创建和销毁webview，如有需求覆盖子窗体上去，请使用原生子窗体subNvue。


                                       eg:   获取当前页面webview 的对象实例

                                              export default {
                                                  data() {
                                                    return {
                                                      title: 'Hello'
                                                    }
                                                  },
                                                  onLoad() {
                                                    // #ifdef APP-PLUS
                                                    const currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
                                                    currentWebview.setBounce({position:{top:'100px'},changeoffset:{top:'0px'}}); //动态重设bounce效果
                                                    // #endif
                                                  }
                                              }


                                      eg：   获取指定页面的webview 对象的示例

                                             getCurrentPages()可以得到所有页面对象，然后根据数组，可以取指定的页面webview对象

                                                var pages = getCurrentPages();
                                                var page = pages[pages.length - 1];
                                                // #ifdef APP-PLUS
                                                    var currentWebview = page.$getAppWebview();
                                                    console.log(currentWebview.id);//获得当前webview的id
                                                    console.log(currentWebview.isVisible());//查询当前webview是否可见
                                                // #endif

                                      uni-app自带的web-view组件，是页面中新插入的一个子webview。

                                      获取该对象的方法见：https://ask.dcloud.net.cn/article/35036
            */
    </script>
  </body>
</html>